// app/api/shared/[token]/route.ts import { NextRequest, NextResponse } from 'next/server'; import { FileService } from '@/lib/services/fileService'; // 공유 링크로 파일 접근 export async function GET( request: NextRequest, { params }: { params: { token: string } } ) { try { const searchParams = request.nextUrl.searchParams; const password = searchParams.get('password'); const fileService = new FileService(); const result = await fileService.accessFileByShareToken( params.token, password || undefined ); if (!result) { return NextResponse.json( { error: '유효하지 않은 공유 링크입니다' }, { status: 404 } ); } return NextResponse.json({ file: result.file, accessLevel: result.accessLevel, }); } catch (error) { if (error instanceof Error) { return NextResponse.json( { error: error.message }, { status: 400 } ); } console.error('공유 파일 접근 오류:', error); return NextResponse.json( { error: '파일 접근에 실패했습니다' }, { status: 500 } ); } }